1. Field of the Invention
The present invention relates to a motor controller for an electric power steering system which performs a steering assist operation by applying a torque generated by an electric motor to a steering mechanism.
2. Description of Related Arts
Electric power steering systems are conventionally known which are adapted to transmit a torque generated by an electric motor such as a three-phase brushless motor to a steering mechanism to perform a steering assist operation. A motor controller for such an electric power steering system has a construction as shown in FIG. 4.
The motor controller includes a three-phase alternating current coordinate transformation section 91 for converting a current command value i* (effective value) into vectors in a three-phase alternating current coordinate system, i.e., a U-phase current command value iua* and a V-phase current command value iva*, on the basis of an angle xcex8re of a rotor of a motor M. The current command value i* is determined on the basis of a steering torque or the like applied to a steering wheel. The rotor angle xcex8re is detected by a rotor angle detecting circuit 92 on the basis of an output signal of a resolver R provided in association with the motor M.
The U-phase current command value iua* and the V-phase current command value iva* are inputted to subtractors 93u and 93v, respectively. An output of a U-phase current detecting circuit 94u for detecting a U-phase current iua actually flowing through a U-phase of the motor M and an output of a V-phase current detecting circuit 94v for detecting a V-phase current iva actually flowing through a V-phase of the motor M are applied to the subtractors 93u and 93v, respectively. Therefore, a deviation of the U-phase current iua from the U-phase current command value iua* and a deviation of the V-phase current iva from the V-phase current command value iva* are outputted from the subtractors 93u and 93v, respectively.
The deviations outputted from the subtractors 93u and 93v are respectively applied to a U-phase current PI (proportional integration) controlling section 95u and a V-phase current PI controlling section 95v. Further, the U-phase current PI controlling section 95u and the V-phase current PI controlling section 95v receive a correction gain determined by a PI gain correcting section 96 on the basis of a rotor angular velocity xcfx89re which is the rate of a change in the rotor angle xcex8re. The U-phase current PI controlling section 95u and the V-phase current PI controlling section 95v respectively determine a U-phase voltage command value Vua* and a V-phase voltage command value Vva* on the basis of the deviations inputted from the subtractors 93u and 93v and the correction gain inputted from the PI gain correcting section 96.
The rotor angular velocity xcfx89re is determined by a rotor angular velocity calculating section 97 on the basis of the rotor angle xcex8re detected by the rotor angle detecting circuit 92.
The U-phase voltage command value Vua* and the V-phase voltage command value Vva* are inputted to a three-phase PWM (pulse width modulation) section 98. The U-phase voltage command value Vua* and the V-phase voltage command value Vva* are also inputted to a W-phase voltage command value calculating section 99. The W-phase voltage command value calculating section 99 determines a W-phase voltage command value Vwa* by subtracting the U-phase voltage command value Vua* and the V-phase voltage command value Vva* from zero, and applies the W-phase voltage command value Vwa* thus calculated to the three-phase PWM section 98. That is, the three-phase PWM section 98 receives the U-phase voltage command value Vua*, the V-phase voltage command value Vva* and the W-phase voltage command value Vwa* inputted thereto.
The three-phase PWM section 98 generates PWM signals Su, Sv and Sw which correspond to the U-phase voltage command value Vua*, the V-phase voltage command value Vva* and the W-phase voltage command value Vwa*, respectively, and outputs the PWM signals Su, Sv, Sw thus generated to a power circuit P. Thus, the power circuit P applies voltages Vua, Vva and Vwa according to the PWM signals Su, Sv and Sw to the U-phase, the V-phase and the W-phase, respectively, of the motor M, which in turn generates a torque required for the steering assist.
The U-phase current command value iua* and the V-phase current command value iva* are sinusoidally varied in accordance with a change in the rotor angle xcex8re. The U-phase current iua and the V-phase current iva are sinusoidal electric currents which are sinusoidally varied in accordance with the change in the rotor angle xcex8re. With a higher rotation speed of the motor M, the changes in the U-phase current iua and the V-phase current iva cannot follow the changes in the U-phase current command value iua* and the V-phase current command value iva*, so that phase offsets may occur between the U-phase current iua and the U-phase current command value iua* and between the V-phase current iva and the V-phase current command value iva*. If such phase offsets occur, the motor M fails to generate a torque of a proper magnitude, thereby deteriorating the responsiveness of the steering assist and the convergence of the steering wheel. Therefore, the steering feeling may be deteriorated.
Another problem associated with the conventional motor controller is a difficulty in detecting an abnormality such as an offset which causes an electric current to flow through the motor M even if the current command value i* is zero. That is, the U-phase current iua and the V-phase current iva, which are sinusoidal electric currents, instantaneously become zero (or cross zero) depending on the rotor angle xcex8re. For accurate detection of the offset, it is necessary to constantly monitor the rotor angle xcex8re so as to acquire the U-phase current iua and the V-phase current iva at a time point other than a zero-cross point, or to calculate an effective value of the electric current flowing through the motor M on the basis of the acquired U-phase current iua and V-phase current iva.
It is a first object of the present invention to provide a motor controller for an electric power steering system which ensures an improved steering feeling.
It is a second object of the invention to provide motor controller for an electric power steering system which features easy detection of an abnormality such as an offset.
A motor controller according to the present invention is a motor controller (C) for an electric power steering system which performs a steering assist operation by applying a torque generated by an electric motor (M) to a steering mechanism (1), the motor controller comprising: a current command value setting circuit (61, 62) for setting a current command value (ia*) indicative of an electric current to be applied to the electric motor; a d-q command value setting circuit (66) for setting a d-axis current command value (ida*) and a q-axis current command value (iqa*) in a d-q coordinate system on the basis of the current command value set by the current command value setting circuit; and a voltage controlling circuit for controlling a voltage to be applied to the electric motor on the basis of the d-axis current command value and the q-axis current command value set by the d-q command value setting circuit. The parenthesized alphanumeric characters denote corresponding components and the like in the following embodiment, but the embodiment is not intended to be limitative of the present invention.
In accordance with the invention, the d-axis current command value and the q-axis current command value in the d-q coordinate system are determined on the basis of the current command value set by the current command value setting circuit, and the motor is controlled on the basis of the d-axis current command value and the q-axis current command value thus set. The d-axis current command value and the q-axis current command value defined in the d-q coordinate system are direct current values irrelevant to a rotor angle of the motor. Therefore, there is no possibility that an output torque of the motor is reduced due to a phase offset between the current command value and an electric current actually flowing through the motor, unlike the conventional motor controller adapted to control the motor on the basis of a current command value defined in a three-phase alternating current coordinate system. Accordingly, the responsiveness of the steering assist and the convergence of the steering wheel can be improved for drastic improvement of the steering feeling as compared with the conventional controller.
The motor controller preferably further comprises: a current detecting circuit (41, 41u, 41v) for detecting three-phase alternating currents actually flowing through the electric motor; and a three-phase AC/d-q coordinate transformation circuit (68) for converting the three-phase alternating currents detected by the current detecting circuit into a d-axis current (ida) and a q-axis current (iqa) in the d-q coordinate system. In this case, the voltage controlling circuit is preferably adapted to perform a feedback control on the voltage applied to the electric motor on the basis of the d-axis current command value and the q-axis current command value set by the d-q command value setting circuit, and the d-axis current and the q-axis current outputted from the three-phase AC/d-q coordinate transformation circuit.
The voltage controlling circuit preferably comprises: a d-axis deviation calculating circuit (67d) for determining a deviation of the d-axis current outputted from the three-phase AC/d-q coordinate transformation circuit with respect to the d-axis current command value set by the d-q command value setting circuit; a d-axis voltage command value setting circuit (69d, 71d) for setting a d-axis voltage command value (Vda*) in the d-q coordinate system on the basis of the deviation determined by the d-axis deviation calculating circuit; a q-axis deviation calculating circuit (67q) for determining a deviation of the q-axis current outputted from the three-phase AC/d-q coordinate transformation circuit with respect to the q-axis current command value set by the d-q command value setting circuit; and a q-axis voltage command value setting circuit (69q, 71q) for setting a q-axis voltage command value (Vqa*) in the d-q coordinate system on the basis of the deviation determined by the q-axis deviation calculating circuit.
The motor controller may further comprise a velocity electromotive voltage calculating circuit (70) for determining a velocity electromotive voltage occurring in the electric motor. In this case, the d-axis voltage command value setting circuit and the q-axis voltage command value setting circuit are preferably adapted to determine the d-axis voltage command value and the q-axis voltage command value in consideration of the velocity electromotive voltage determined by the velocity electromotive calculating circuit. Thus, the reduction in the output of the electric motor can be prevented which may otherwise occur due to the velocity electromotive voltage, whereby the steering feeling can further be improved.
The motor controller preferably further comprises an abnormality judging circuit (74) for judging whether or not any abnormality occurs in a control system on the basis of the d-axis current and the q-axis current outputted from the three-phase AC/d-q coordinate transformation circuit.
With this arrangement, the abnormality judging circuit judges whether or not any abnormality occurs on the basis of the d-axis current and the q-axis current outputted from the three-phase AC/d-q coordinate transformation circuit. Since the d-axis current and the q-axis current are direct currents which are irrelevant to the rotor angle, the abnormality judging circuit can acquire the d-axis current and the q-axis current irrelevantly to the rotor angle, and judge whether or not any abnormality is present on the basis of the d-axis current and the q-axis current thus acquired. Thus, the process for the abnormality detection can be simplified with no need for constant monitoring of the rotor angle.